package cn.diancan.vo.mobile;

import cn.diancan.vo.SaleProductCarVo;
import cn.diancan.vo.model.PurchaseSaleOrderVo;
import org.apache.commons.beanutils.BeanUtils;

import java.lang.reflect.InvocationTargetException;

public class PurchaseSaleOrderApiActionVo {

    private String json;


    private String outOrderNumber; //外部进货单


    private Integer outRealTotalQuantity;//提交上来的（参考）
    private Double outRealTotalPrice; //提交上来的（参考）

    private String orderMark; //订单说明

    private Integer moneyFloatDigit;  //小数点后几位
    private String clientCreateTime; //

    private Integer payType;
    private Long shopClerkId;
    private Long mealLocationId;


    private String customerName;
    private String customerPhone;
    private String customerAddress;
    private String customerRemark;


    private Long goodsId; //可无（需检验）
    private Long productId;
    private Double retailPrice;  //销售价格 可无（需检验）
    private Integer quantity;//总量
    private Integer quantityOpType;//quantityOpType ==   1 加  2.减  3.修改
    private Integer productSaleStatus;//销售状态

    //销售部分使用
    private Float discount; //折扣
    private Double discountPrice; //折扣价
    private Double realRetailPrice;//结算价(结算)
    private Double realTotalPrice; //实际总价(生意额)

    private String goodsName;
    private String unit;

    private Integer discountType;


    private String purchaseSaleOrderProducts;
    //不使用
    private String purchaseSaleOrderProductIds;
    private String purchaseSaleOrderProductQuantitys;




    public PurchaseSaleOrderVo vo2PurchaseSaleOrderVo(){
        PurchaseSaleOrderVo vo = new PurchaseSaleOrderVo();
        try {
            BeanUtils.copyProperties(vo,this);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
        return vo;
    }


    public SaleProductCarVo vo2ProductCarVo(){
        SaleProductCarVo vo = new SaleProductCarVo();
        try {
            BeanUtils.copyProperties(vo,this);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
        return vo;
    }


    public String getJson() {
        return json;
    }

    public void setJson(String json) {
        this.json = json;
    }


    public String getOutOrderNumber() {
        return outOrderNumber;
    }

    public void setOutOrderNumber(String outOrderNumber) {
        this.outOrderNumber = outOrderNumber;
    }

    public Integer getOutRealTotalQuantity() {
        return outRealTotalQuantity;
    }

    public void setOutRealTotalQuantity(Integer outRealTotalQuantity) {
        this.outRealTotalQuantity = outRealTotalQuantity;
    }

    public Double getOutRealTotalPrice() {
        return outRealTotalPrice;
    }

    public void setOutRealTotalPrice(Double outRealTotalPrice) {
        this.outRealTotalPrice = outRealTotalPrice;
    }

    public String getOrderMark() {
        return orderMark;
    }

    public void setOrderMark(String orderMark) {
        this.orderMark = orderMark;
    }

    public Integer getMoneyFloatDigit() {
        return moneyFloatDigit;
    }

    public void setMoneyFloatDigit(Integer moneyFloatDigit) {
        this.moneyFloatDigit = moneyFloatDigit;
    }

    public String getClientCreateTime() {
        return clientCreateTime;
    }

    public void setClientCreateTime(String clientCreateTime) {
        this.clientCreateTime = clientCreateTime;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public Long getShopClerkId() {
        return shopClerkId;
    }

    public void setShopClerkId(Long shopClerkId) {
        this.shopClerkId = shopClerkId;
    }

    public Long getGoodsId() {
        return goodsId;
    }

    public void setGoodsId(Long goodsId) {
        this.goodsId = goodsId;
    }

    public Long getProductId() {
        return productId;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public Double getRetailPrice() {
        return retailPrice;
    }

    public void setRetailPrice(Double retailPrice) {
        this.retailPrice = retailPrice;
    }

    public Integer getQuantity() {
        return quantity;
    }

    public void setQuantity(Integer quantity) {
        this.quantity = quantity;
    }

    public Integer getProductSaleStatus() {
        return productSaleStatus;
    }

    public void setProductSaleStatus(Integer productSaleStatus) {
        this.productSaleStatus = productSaleStatus;
    }

    public Float getDiscount() {
        return discount;
    }

    public void setDiscount(Float discount) {
        this.discount = discount;
    }

    public Double getDiscountPrice() {
        return discountPrice;
    }

    public void setDiscountPrice(Double discountPrice) {
        this.discountPrice = discountPrice;
    }

    public Double getRealRetailPrice() {
        return realRetailPrice;
    }

    public void setRealRetailPrice(Double realRetailPrice) {
        this.realRetailPrice = realRetailPrice;
    }

    public Double getRealTotalPrice() {
        return realTotalPrice;
    }

    public void setRealTotalPrice(Double realTotalPrice) {
        this.realTotalPrice = realTotalPrice;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public Integer getQuantityOpType() {
        return quantityOpType;
    }

    public void setQuantityOpType(Integer quantityOpType) {
        this.quantityOpType = quantityOpType;
    }

    public Long getMealLocationId() {
        return mealLocationId;
    }

    public void setMealLocationId(Long mealLocationId) {
        this.mealLocationId = mealLocationId;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCustomerPhone() {
        return customerPhone;
    }

    public void setCustomerPhone(String customerPhone) {
        this.customerPhone = customerPhone;
    }

    public String getCustomerRemark() {
        return customerRemark;
    }

    public void setCustomerRemark(String customerRemark) {
        this.customerRemark = customerRemark;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public Integer getDiscountType() {
        return discountType;
    }

    public void setDiscountType(Integer discountType) {
        this.discountType = discountType;
    }



    public String getPurchaseSaleOrderProducts() {
        return purchaseSaleOrderProducts;
    }

    public void setPurchaseSaleOrderProducts(String purchaseSaleOrderProducts) {
        this.purchaseSaleOrderProducts = purchaseSaleOrderProducts;
    }

    public String getCustomerAddress() {
        return customerAddress;
    }

    public void setCustomerAddress(String customerAddress) {
        this.customerAddress = customerAddress;
    }
}
